/**
 * @description 语言国际化插件
 * @author zhengzihang
 *
 * @since 注意:
 * $._lang 表示当前语言环境
 * function _loadText(text) 根据语言自动加载text对应字典,如果找不到,返回text
 *
 */

//初始化语言插件,并加载字典
function initI18n(index) {
    // debugger
    var lang = getCookie('language');
    if (!lang) {
        lang = getBrowLang().replace('-', '_');
        if (lang.indexOf('_') > 0) {
            lang = lang.substring(0, lang.indexOf('_')); // + lang.substring(lang.indexOf('_'), lang.length).toLowerCase();
        }
    }
    console.log("Current Language = " + lang);
    lang = 'zh';
    $._lang = lang;
    //登录页语言选择框
    $("#language").children().removeAttr("selected");
    $("#language>option[value=" + lang + "]").attr("selected", true);
    $("#language").on('change', function () {
        // debugger
        changeLang(this.value);
    })
    jQuery.i18n.properties({
        name: 'strings', //资源文件名称
        path: 'i18n/', //资源文件路径
        mode: 'map', //用Map的方式使用资源文件中的值
        language: lang,
        callback: doTranslate
    });
    if(!index){
        //加载首页
        layui.use('element', function () {
            var $ = layui.jquery,
                element = layui.element;
            var mainpage = $('a[data-href=sys_index]');
            var id = new Date().getTime();
            //新增一个Tab项
            element.tabAdd('content', {
                title: mainpage.text(),
                content: '<iframe src="sys_index.page" id="iframe_sys_index" class="mainiframe" width="100%" height="100%" frameborder="0" scrolling="auto"></iframe>',
                id: id //实际使用一般是规定好的id，这里以时间戳模拟下
            })
            element.tabChange('content', id);
            mainpage.data('navId', id);
            // $(".mainiframe").css("height", $(".layui-body").height() - 65);
            changeFrameHeight();
        });
    }
}

//语言切换
function changeLang(la) {
    setCookie('language', la);
    window.location.reload();
}

//加载成功后根据语言设置显示内容,普通文本
function doTranslate(el) {
    if (self != top) {
        $.i18n = top.i18n;
        $._lang = top.$._lang;
        $.translateStatus = top.$.translateStatus;
    } else {
        window.i18n = $.i18n;
        //多语言开关
        $.translateStatus = $.i18n.prop("translateStatus");
    }
    /* if($.translateStatus==0){
         return;
     }*/
    if (!el) {
        el = '';
    }
    $(el + ' .l-lab-text').each(
        function () {
            var type = $(this)[0].tagName.toLowerCase();
            // debugger
            var regex = /\[|\]/g
            if (type == 'input') {
                if ($(this).attr('placeholder')) {
                    var text = $(this).attr('placeholder').replace(":", "");
                    $(this).attr('placeholder', $.i18n.prop(text).replace(regex, ""));

                } else {
                    var text = $(this).val().replace(":", "");
                    $(this).val($.i18n.prop(text).replace(regex, "") + ($(this).val().indexOf(":") > 0 ? ":" : ""));
                }
            } else {
                var text = $(this).text().replace(":", "");
                $(this).html($.i18n.prop(text).replace(regex, "") + ($(this).text().indexOf(":") > 0 ? ":" : ""));
            }
        })
}

//翻译表格中文本,需要表格加载渲染完毕后执行
function doTranslateTable() {
    /*if($.translateStatus==0){
        return;
    }*/
    doTranslate('table tr');
    //分页语言初始化
    if ($._lang != 'zh') {
        translatePage();
    }
}

//根据语言自动加载对应字典
function _loadText(text) {
    /* if($.translateStatus==0){
         return text;
     }*/
    if (text) {
        var value = $.i18n.prop(text);
        if (!value) {
            text = text.replaceAll(" ", "").toLowerCase().trim();
            value = $.i18n.prop(text);
        }
        if (value) {
            var regex = /\[|\]/g;
            return value.replace(regex, "");
        } else {
            return text;
        }
    } else {
        return "";
    }
}

function getCookie(name) {
    var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    if (arr = document.cookie.match(reg))
        return unescape(arr[2]);
    else
        return null;
}

function setCookie(c_name, value, expiredays) {
    var exdate = new Date()
    exdate.setDate(exdate.getDate() + expiredays)
    document.cookie = c_name + "=" + escape(value) +
        ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())
}

function getBrowLang() {
    if (navigator.language) {
        return navigator.language;
    } else {
        return navigator.browserLanguage;
    }
}

/**翻译分页插件语言,将中文转英文*/
function translatePage() {
    var page = $(".layui-laypage-skip").html();

    var count = $(".layui-laypage-count").text();
    if (count) {
        count = count.replace("共", 'Total').replace("条", 'Line')
        $(".layui-laypage-count").text(count);
    }
    //"到第<input type="text" min="1" value="1" class="layui-input">页<button type="button" class="layui-laypage-btn">确定</button>"
    if (page) {
        page = page.replace("到第", 'Jump to').replace("页", 'Page').replace("确定", 'Jump');
        $(".layui-laypage-skip").html(page);
    }
}

//登录操作
function doLogin() {
    var data = $("#loginForm").serialize();
    //		alert(data);
    // debugger
    var userName = $('#username').val();
    var password = $('#password').val();
    if (userName == '') {
        $('.error_xinxi').css('display', 'block');
        $('.error_xinxi').text(_loadText('User name cannot be empty!'));
        return false;
    }
    if (password == '') {
        $('.error_xinxi').css('display', 'block');
        $('.error_xinxi').text(_loadText('Password cannot be empty!'));
        return false;
    }
    //判断此用户是否存在于数据库中
    var url = 'login.do';
    var params = {'username': userName, 'password': password};
    $.post(url, params, function (result) {
        debugger
        if (result.code == 0) {   //用户校验成功，跳转到主页面
            location.href = 'mainUI.do';
        } else {
            $('.error-information').css('display', 'block');
            $('.error-information').text(_loadText(result.msg));
        }
    })
}